/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.uoc.tdp.pac4.beans;

import java.io.Serializable;
import java.util.Date;

/**
 *
 * @author pguerreroj
 * CREATE TABLE Usuari (
    ID integer NOT NULL,
    taller Taller,
    usuari character varying,
    perfil character varying NOT NULL,
    contrasenya character varying NOT NULL,
    actiu boolean DEFAULT true NOT NULL,
    dataAlta date DEFAULT now() NOT NULL,
    dataModificacio date,
    dataBaixa date,
    reparacionsassignades integer DEFAULT 0,
    CONSTRAINT ck_reparacionsAssignades CHECK (((reparacionsassignades >= 0) AND (reparacionsassignades <= 2)))
);
 */
public class Usuari implements Serializable {
    
    private static final long serialVersionUID = 1L;
    private int ID;
    private Taller taller;
    private String usuari; 
    private String nom; 
    private String cognom1; 
    private String cognom2; 
    private Perfil perfil;
    private String contrasenya;
    private boolean actiu; 
    private Date dataAlta; 
    private Date dataModificacio; 
    private Date dataBaixa; 
    private int reparacionsassignades;
    private boolean updateContrasenya;
    private boolean readySave;
    private boolean esborrat;

    public Usuari() {
    }

    public Usuari(int ID, Taller taller, String usuari, String nom, String cognom1, String cognom2, Perfil perfil, String contrasenya, boolean actiu, Date dataAlta, Date dataModificacio, Date dataBaixa, boolean esborrat) {
        this.ID = ID;
        this.taller = taller;
        this.usuari = usuari;
        this.nom = nom;
        this.perfil = perfil;
        this.contrasenya = contrasenya;
        this.actiu = actiu;
        this.dataAlta = dataAlta;
        this.dataModificacio = dataModificacio;
        this.dataBaixa = dataBaixa;
        this.updateContrasenya = false;
        this.readySave = false;
        this.esborrat = esborrat;
    }

    public int getID() {
        return ID;
    }

    public Taller getTaller() {
        return taller;
    }

    public String getUsuari() {
        return usuari;
    }

    public String getNom() {
        return nom;
    }

    public String getCognom1() {
        return cognom1;
    }

    public String getCognom2() {
        return cognom2;
    }

    public String getNomComplet() {
        return nom+" "+cognom1+" "+cognom2;
    }
    
    public Perfil getPerfil() {
        return perfil;
    }

    public String getContrasenya() {
        return contrasenya;
    }

    public boolean getActiu() {
        return actiu;
    }

    public Date getDataAlta() {
        return dataAlta;
    }

    public Date getDataModificacio() {
        return dataModificacio;
    }

    public Date getDataBaixa() {
        return dataBaixa;
    }

    public int getReparacionsAssignades() {
        return reparacionsassignades;
    }

    public boolean getUpdateContrasenya() {
        return updateContrasenya;
    }

    public boolean getReadySave() {
        return readySave;
    }

    public boolean getEsborrat() {
        return esborrat;
    }

    
    
    public void setID(int ID) {
        this.ID = ID;
    }

    public void setTaller(Taller taller) {
        this.taller = taller;
    }

    public void setUsuari(String usuari) {
        this.usuari = usuari;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public void setCognom1(String cognom1) {
        this.cognom1 = cognom1;
    }

    public void setCognom2(String cognom2) {
        this.cognom2 = cognom2;
    }

    
    public void setPerfil(Perfil perfil) {
        this.perfil = perfil;
    }

    public void setContrasenya(String contrasenya) {
        this.contrasenya = contrasenya;
    }

    public void setActiu(boolean actiu) {
        this.actiu = actiu;
    }

    public void setDataAlta(Date dataAlta) {
        this.dataAlta = dataAlta;
    }

    public void setDataModificacio(Date dataModificacio) {
        this.dataModificacio = dataModificacio;
    }

    public void setDataBaixa(Date dataBaixa) {
        this.dataBaixa = dataBaixa;
    }

    public void setReparacionsAssignades(int reparacionsassignades) {
        this.reparacionsassignades = reparacionsassignades;
    }

    public void setUpdateContrasenya(boolean updateContrasenya) {
        this.updateContrasenya = updateContrasenya;
    }

    public void setReadySave(boolean readySave) {
        this.readySave = readySave;
    }

    public void setEsborrat(boolean esborrat) {
        this.esborrat = esborrat;
    }
    
    
    public String[] toTable() {
        String[] a = { Integer.toString(this.ID), this.getUsuari(), this.getPerfil().toString(), Boolean.toString(this.actiu), Boolean.toString(this.esborrat) } ;
        
        return a;
    }
    
    
    public String toString() {
        return this.nom+" "+this.cognom1+" "+this.cognom2; 
    }
    
    
}
